适用人群
程序员键盘党,尤其是vim、emacs或其模拟器用户。
适用键盘
普通外接键盘,左右Ctrl
键、左右Shift
键、左右Alt
键齐备。
技巧目标
组合键指法要点
各司其职
左右Ctrl
键分别用左右手的手掌靠近小指指根的部位击键
左右Shift
键分别用左右手的小指击键
Shift键用的相对较少,小指压力不会太大
如果需要连续输入大写字母,则打开大写锁定
左右Alt
键分别用左右手的大拇指击键
左右开弓
基础键与修饰键用不同的手击键
不需要手移动
不需要单手变换为很别扭的手型去同时击多个键
具体例子:
Ctrl-U
组合键用左手击Ctrl
键,右手击U
键
Alt-X
组合键用右手击Alt
键,左手击X
键
针对性改键
右Ctrl
键与其左边的键(通常是上下文菜单
键或Fn
键)进行交换
交换CapsLock
键和Esc
键
方便vim或其模拟器(evil、IdeaVim等)用户切换为普通模式
也可以使用Ctrl-[
键切换为普通模式,只是没那么方便
Ctrl-C
不是在所有情况下都与Esc
/Ctrl-[
等效,不推荐
将右Alt
键映射到左Alt
键
改键方法
不同系统下各有若干改键方法或工具,这里仅介绍我当前使用的方法。
Windows
通过修改注册表来改键。想了解具体键值含义的朋友,请参考网上的其他文章,我这里直接给一个结果。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,06,00,00,00,5d,e0,1d,e0,1d,e0,5d,e0,3a,00,01,00,01,00,3a,00,38,00,38,e0,00,00,00,00
将上述注册表内容保存为.reg后缀的文件,然后双击执行。执行完毕后,需注销并重新登录当前用户或重启系统使配置生效。注册表内容包含了三个按键映射设置:
交换右Ctrl
键和上下文菜单
键
交换CapsLock
键和Esc
键
右Alt
键映射到左Alt
键
Linux
通过使用桌面环境自带的系统设置工具来改键。以Cinnamon桌面环境为例,其他桌面环境类似:
在桌面依次点击Menu
->Preferences
->Keyboard
->Layouts
->Options
,打开Keyboard Layout Options窗口
配置Ctrl key position为:Menu as Right Ctrl
配置Caps Lock key behavior为:Swap ESC and Caps Lock
vim或其模拟器快捷键绑定技巧
普通模式下,vim的Ctrl
组合键基本都有预置功能,而空格
键的功能只是把光标移动到下一个字符,实际使用中作用不大。并且,使用左右手的大拇指都可以非常方便击空格
键,所以,把空格
键作为快捷键的前置键非常合适,而且不与任何预置的快捷键冲突。例如:将<Space>bp
/<Space>bn
绑定到切换上/下一个Buffer的命令。
另外,很多编辑器的vim模拟器支持触发编辑器内置的Action,通过绑定以空格
键为前置键的快捷键,vim模拟器还可以作为一个无冲突快捷键绑定工具来使用。